home *** CD-ROM | disk | FTP | other *** search
/ Biodiversity of Illinois 2: Woodland Habitats / Biodiversity of Illinois 2 - Woodland Habitats.iso / mac / casts / PDFxtraBehaviors.cst / 00025_Script_PDF_Print < prev    next >
Text File  |  2006-07-11  |  3KB  |  81 lines

  1. -- Print
  2.  
  3. Property pEvent, pSprite, pFromPage, pToPage, pPSlevel, pBinaryOK, pShrinkToFit, pSilent, pAlertFlag
  4.  
  5. on doPrint me
  6.   set err = PDF_Print(sprite pSprite, pFromPage, pToPage, pPSlevel, pBinaryOK, pShrinkToFit, NOT pSilent)
  7.   if PDF_status(sprite pSprite) then alert "PDF Behavior Error"&RETURN&PDF_error(sprite pSprite)
  8. end doPrint
  9.  
  10. on mouseUp me
  11.   if (pEvent = #mouseUp) then doPrint(me)
  12. end mouseUp
  13.  
  14. on mouseDown me
  15.   if (pEvent = #mouseDown) then doPrint(me)
  16. end mouseDown
  17.  
  18. -- standard behavior stuff --
  19. on getPropertyDescriptionList me
  20.   set defaultValues = GetDefaultValues (me)
  21.   
  22.   set pdfSpriteList = getProp (defaultValues, #spriteList)
  23.   set defSprite     = getProp (defaultValues, #defaultSprite)
  24.   if (defSprite=0) then 
  25.     if the ticks - pAlertFlag > 10 then
  26.       alert "Please create a sprite of type PDF first."
  27.     end if
  28.     set pAlertFlag = the ticks -- The ticks when the user clicked "OK"
  29.     
  30.     exit
  31.   end if
  32.   set p_list = [#pEvent: [ #comment: "Event", #format:#symbol, #range:[#mouseUp, #mouseDown], #default:#mouseUp], #pSprite: [ #comment: "PDF Sprite is in channel:", #format:#symbol, #range:pdfSpriteList, #default:defSprite], #pFromPage: [ #comment: "From page:", #format:#integer, #default:1], #pToPage: [ #comment: "To page:", #format:#integer, #default:9999], #pPSlevel: [ #comment: "Postscript Level:", #format:#symbol, #range:[#1,#2,#3], #default:#3], #pShrinkToFit: [ #comment: "Shrink to fit:", #format:#boolean, #default:FALSE], #pBinaryOK: [ #comment: "Printer accepts binary data:", #format:#boolean, #default:TRUE], #pSilent: [ #comment: "Show Print Options/Progress dialog:", #format:#boolean, #default:FALSE]]
  33.   return p_list 
  34. end
  35.  
  36. on getBehaviorDescription
  37.   return "Instruct PDF sprite to go to a specific page in the current document.  Parameters are: " &RETURN& "- From page" &RETURN& "- To page: pass any large number for Last Page of document" &RETURN& "- Postscript Level: 1, 2 or 3" &RETURN& "- Shrink to fit: shrink printout to fit target page size" &RETURN& "- Binary data: for printers that accept binary postscript" &RETURN& "- Silent: show/hide Print Options (not supported with Acrobat/Windows)" &RETURN& "Free to use and abuse. (c)1999, Integration New Media, Inc."  &RETURN& "Thanks to James Newton for his suggestions"
  38. end
  39.  
  40. -- utils --
  41. on GetDefaultValues me
  42.   if the currentSpriteNum then
  43.     set spriteList = GetSpriteList (me #PDF)
  44.     if count (spriteList) then
  45.       set defaultSprite = getAt (spriteList, 1)
  46.     else
  47.       set defaultSprite = 0
  48.     end if
  49.     
  50.     return [#spriteList: spriteList, #defaultSprite: defaultSprite]
  51.     
  52.   else -- the currentSpriteNum = 0
  53.     -- Director is merely recompiling this script: return dummy values
  54.     return [#spriteList: [1], #defaultSprite: 1]
  55.   end if
  56. end 
  57.  
  58.  
  59. on GetSpriteList me, memberType
  60.   -- return list of sprites of type memberType in current frame
  61.   global version
  62.   if (char 1 of version = 6) then
  63.     set maxSprite = 120
  64.   else
  65.     set maxSprite = the lastChannel
  66.   end if
  67.   
  68.   set aList=[]
  69.   
  70.   repeat with i = 1 to maxSprite
  71.     set spriteMember = the member of sprite i
  72.     -- if (string(m) contains "member 0") then next repeat -- unnecessary
  73.     if (the type of spriteMember = memberType) then -- (JN) Line break
  74.       append (aList, i)
  75.     end if
  76.   end repeat
  77.   
  78.   return aList
  79. end GetSpriteList
  80.  
  81.